package com.xxjqr.rbac.entity.pojo;

import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;

import com.xxjqr.rbac.enums.MenuTypeEnum;
import com.xxjqr.rbac.enums.StatusEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @描述 菜单表
 * @码农 丁昌江
 * @日期 2021/3/16 23:43
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TbMenu extends Model<TbMenu> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Long id;

    /**
     * 名称
     */
    private String name;

    /**
     * 父节点
     */
    private Long parentId;

    /**
     * 节点类型，1文件夹，2页面，3按钮
     */
    private MenuTypeEnum nodeType;

    /**
     * 图标地址
     */
    private String iconUrl;

    /**
     * 绑定的接口
     */
    private String bindUrl;

    /**
     * 排序号
     */
    private Integer sort;

    /**
     * 路由地址
     */
    private String routerUrl;

    /**
     * 层次
     */
    private Integer level;

    /**
     * 树id的路径 整个层次上的路径id，逗号分隔，想要找父节点特别快
     */
    private String path;

    /***
     * 状态 0 未启用 1 正常
     */
    private StatusEnum status;

    /**
     * 是否删除 1：已删除；0：未删除 使用注解 @TableLogic 逻辑删除
     */
    @TableLogic
    private Integer isDelete;

    /**
     * 组件地址
     */
    private String component;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
